Первое знакомство с пакетом Mathematica
Оператор While[test, body] выполняет body до тех пор, пока test дает True
Здесь означает увеличение на единичку; равносильно :
Оператор For[start, test, incr, body] выполняет start, затем последовательно выполняет body и incr до тех пор, пока test дает True:
- выходит из ближайшего цикла;
- переходит к следующему шагу в текущем цикле;
- возвращает значение , выходя при этом из всех процедур и циклов функции;
- переходит к элементу в текущей процедуре (в примере оператор равносилен ):
В следующем примере дает , если - простое число:
Последовательности команд. Локализация переменных
Как при определении выражений, так и в полях, отведенных для аргументов, можно писать не одно выражение, а последовательности выражений. Ниже приведены правила написания таких последовательностей
- Выражения последовательности разделяются точкой с запятой ";".
- Если после последнего выражения нет ";" , то результат вычисления этого последнего выражения выводится (например, в случае, когда последовательность введена в том месте, где должен стоять аргумент, значение присваивается аргументу). Если после последнего выражения стоит ";", то результат не выводится.
- При задании последовательности выражений, которую нужно присвоить некоторому выражению, или при задании безымянных функций эта последовательность берется в круглые скобки:
В выражении переменные . локальны, т. е. определены лишь внутри этой конструкции. При этом значения одноименных переменных, определенных снаружи, не используются при вычислении модуля, в то время как значения неодноименных наружных переменных используются.
Из приведенного примера видно, что внутренняя переменная на самом деле имеет другое имя:
Локальным переменным можно присваивать начальные значения прямо в месте их декларации, т. е. ( в команде задает координаты точки, через которую проводятся координатные оси):
Выражение вычисляется со значениями переменных , заданных внутри блока. При этом значения одноименных переменных, определенных снаружи, используются при вычислении модуля, если они не были переопределены в блоке. Переопределенные в блоке переменные при выходе из блока восстанавливают свое предыдущее значение: